11 research outputs found

    A sheaf-theoretic approach to pattern matching and related problems

    Get PDF
    AbstractWe present a general theory of pattern matching by adopting an extensional, geometric view of patterns. Representing the geometry of the pattern via a Grothendieck topology, the extension of the matching relation for a constant target and varying pattern forms a sheaf. We derive a generalized version of the Knuth-Morris-Pratt string-matching algorithm by gradually converting this extensional description into an intensional description, i.e., an algorithm. The generality of this approach is illustrated by briefly considering other applications: Earley's algorithm for parsing, Waltz filtering for scene analysis, matching modulo commutativity, and the n-queens problem

    Augmenting Algebraic Specifications with Structured Sorts and Structural Subsorting

    No full text
    this paper, we will extend the algebraic specification framework with features that support data-directed de

    Refinement of Parameterized Algebraic Specifications

    No full text
    A refinement relation for parameterized algebraic specifications is introduced in which the body specification is refined covariantly (i.e., specialized) while the parameter specification is refined contravariantly (i.e., generalized). This refinement is similar to the subtyping relation between function types. Assuming a few relatively weak axioms about parameterized specifications, refinement is shown to satisfy the expected properties for software development in-the-large: independent refinement of body and parameter, and closure under sequential composition, instantiation and a suitable form of `horizontal' composition. Keywords Parameterized specifications, mixed-variance refinement, compositionality 1 INTRODUCTION The primary subject of this paper is a general notion of refinement for parameterized specifications. Many notions of refinement have been previously proposed in the literature (Ehrig & Kreowski 1982, Ganzinger 1983, Goguen & Meseguer 1982, Sannella & Tarlecki 1988, S..

    SPECWARE: Formal Support for Composing Software

    No full text
    Specware supports the systematic construction of formal specifications and their stepwise refinement into programs. The fundamental operations in Specware are that of composing specifications (via colimits), the corresponding refinement by composing refinements (via sheaves), and the generation of programs by composing code modules (via colimits). The concept of diagram refinement is introduced as a practical realization of composing refinements via sheaves. Sequential and parallel composition of refinements satisfy a distributive law which is a generalization of similar compatibility laws in the literature. Specware is based on a rich categorical framework with a small set of orthogonal concepts. We believe that this formal basis will enable the scaling to system-level software construction
    corecore